package com.lagou.dao;

import com.lagou.domain.*;

import java.util.List;

public interface RoleMapper {

    /**
     * 根据条件查询角色
     *
     * @param role
     * @return
     */
    public List<Role> findAllRole(Role role);

    /**
     * 添加角色
     *
     * @param role
     */
    public void saveRole(Role role);

    /**
     * 修改角色
     *
     * @param role
     */
    public void updateRole(Role role);

    /**
     * 根据角色ID查询菜单信息
     *
     * @param roleId
     * @return
     */
    List<String> findMenuByRoleId(Integer roleId);

    /**
        根据roleid清空中间表的关联关系
     * @param rid
     */
    public void deleteRoleContextMenu(Integer rid);


    /**
        为角色分配菜单信息
     * @param role_menu_relation
     */
    public void roleContextMenu(Role_menu_relation role_menu_relation);

    /**
        删除角色
     * @param roleId
     */
    public void deleteRole(Integer roleId);

    /**
     * 获取当前角色拥有的资源信息
     * @param roleId
     * @return
     */
    public List<ResourceCategory> findResourceListByRoleId(Integer roleId);

    /**
     * 清空角色资源中间表关系
     * @param roleId
     */
    public void deleteRoleContextResource(Integer roleId);

    /**
     * 为角色分配资源
     * @param roleResourceRelation
     */
    public void roleContextResource(RoleResourceRelation roleResourceRelation);

}
